The present invention relates to computer software programming tools and more specifically in one embodiment to programming tools for use with digital signal processors.
It is well known in the prior art to have a text based programming suite for writing computer code for digital signal processors such as products by Analog Devices (Visual DSP), Motorola, (68K Compiler), and Texas Instruments (TI-C8X PC C Compiler/Assembler/Linker). The programming suites generally require the programmer to code in assembly language or in a mid-level programming language, such as C, using text based programming.
Because programming languages require a great deal of experience and knowledge regarding the language's semantics and syntax, there has been a recent interest in using graphical tools to assist in programming. Such graphical tools have not been designed to program digital signal processors but have been implemented to assist in general programming of mid-level languages. Most of such graphical tools allow a programmer to select functions to be implemented graphically. The functions are generally provided in toolboxes that group the functions together by use. This graphical user interface allows a programmer to graphically select a function and to drag and drop the desired function onto a page and then to link the functions together. The manner in which the functions are linked together determines the execution order of the functions. The graphical user interface and the software code are linked together and may be considered to be a module within the toolbox. The module is defined as a single linked entity. As updates occur, new code is required for the entire module no matter what has changed in the code. Problems arise for the person overseeing the programming suite as revisions occur. For example, if there are many variations of a particular module, for example, graphical template each having a different color, the code for each template needs to be updated and the revisions need to be managed by the overseer of the module library.